#include "ULT.h"

struct threadNode{
  struct ThrdCtlBlk *thisBlk;
 struct threadNode * nextNode;
};

struct linkedlist{
  int size;
  struct threadNode * headNode;
} ;

struct linkedlist *list_init();
int threadForTid (struct linkedlist *list, int tid);
struct ThrdCtlBlk *peek(struct linkedlist *list);
void freeGlobals();
void freeList(struct linkedlist *list, int freeBlk);
void append(struct linkedlist *list, struct ThrdCtlBlk *newnode);
void printList(struct linkedlist *list);
struct ThrdCtlBlk *removeNode(struct linkedlist *list, int tid);
struct ThrdCtlBlk *pop(struct linkedlist *list);







